﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CWMOsztalyok;

namespace CWMKliens
{
    public partial class FormRegisztracio : Form
    {
        Profil regisztralandoProfil;       

        public FormRegisztracio()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                Regisztracio();
            }
            catch (KitoltesException ex)
            {
                MessageBox.Show(ex.Message, "HIBA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        /// <summary>
        /// Elkészíti a megadott adatok alapján a regisztrálandó profilt, elvégzi rajta az ellenőrzésekte és átküldi a szervernek.
        /// </summary>    
        /// (átküldést még meg kell csinálni)
        private void Regisztracio()
        {
            if (regUserControl1.Becenev == "")
                throw new KitoltesException("Adjon meg becenevet!");
            else if (regUserControl1.Email == "")
                throw new KitoltesException("Adja meg az e-mail címét, ez lesz a felhasználóneve.");
            else if (regUserControl1.Vezeteknev == "")
                throw new KitoltesException("Adja meg a vezetéknevét.");
            else if (regUserControl1.Keresztnev == "")
                throw new KitoltesException("Adja meg a keresztnevét.");
            else if (regUserControl1.Jelszo == "" || regUserControl1.JelszoEllenorzo == "" || (regUserControl1.Jelszo != regUserControl1.JelszoEllenorzo))
                throw new KitoltesException("Hiba a jelszó megadásakor.\nTöltse ki mindkét jelszó mezőt és ügyeljen rá,\nhogy a beírt jelszavak megegyezzenek.");
            else if (regUserControl1.Jelszo.Length < 8 || regUserControl1.JelszoEllenorzo.Length < 8)
                throw new KitoltesException("A minimális jelszóhossz 8 karakter!");
            
            else
            {
                regisztralandoProfil = new Profil(regUserControl1.Email, regUserControl1.Jelszo, regUserControl1.Vezeteknev,
                    regUserControl1.Keresztnev, regUserControl1.Becenev, regUserControl1.Neme,
                    regUserControl1.SzuletesiIdo, regUserControl1.IranyitoSzam, regUserControl1.Varos,
                    regUserControl1.UtcaHazszam, regUserControl1.IskolaiVegzettseg, regUserControl1.Foglalkozas,
                    regUserControl1.MunkaTerulet, regUserControl1.VanMobil, regUserControl1.Mobilszam,
                    regUserControl1.HonnanNetezik, regUserControl1.MennyitNetezik);

                ProfilKezelo.ProfilKezelo pk = new ProfilKezelo.ProfilKezelo();
                if (pk.Regisztráció(regisztralandoProfil.Email, regisztralandoProfil.Jelszo, regisztralandoProfil.Vezeteknev, regisztralandoProfil.Keresztnev, regisztralandoProfil.SzuletesiIdo))
                {
                    MessageBox.Show("Sikeres regisztráció");
                    this.Close();
                }
                else { MessageBox.Show("Sikertelen regisztráció"); }
            }

        }
    }

    public class KitoltesException : Exception
    {
        public KitoltesException(string msg)
            : base(msg)
        {
        }
    }
}
